<?php
//管理后台入口文件
define('IN_T',true);
require 'include/init.php';

//所有的权限
$priv_arr = array(
   'setting'=>array('name'=>'企业设置','act_arr'=>array('index'=>'查看设置','index_post'=>'编辑设置')),
   'thumb'=>array('name'=>'企业相册','act_arr'=>array('index'=>'相册列表','detail'=>'相册详情','detail_post'=>'编辑相册','delete'=>'删除相册')),
   'news'=>array('name'=>'新闻动态','act_arr'=>array('index'=>'新闻列表','index_post'=>'新闻查询','detail'=>'新闻详情','detail_post'=>'编辑新闻','delete'=>'删除新闻')),
   'product_cat'=>array('name'=>'商品分类','act_arr'=>array('index'=>'分类列表','detail'=>'查看分类','detail_post'=>'编辑分类','delete'=>'删除分类')),
   'product'=>array('name'=>'商品管理','act_arr'=>array('index'=>'商品列表','index_post'=>'商品查询','detail'=>'商品详情','detail_post'=>'编辑商品','delete'=>'删除商品','is_not'=>'上下架商品')),
   'order'=>array('name'=>'订单管理','act_arr'=>array('index'=>'订单列表','index_post'=>'查询订单','detail'=>'订单详情','detail_post'=>'编辑订单','delete'=>'删除订单')),
);

//请求目录
$module_dir = $company['is_admin'] ? 'admin' : 'company';

//模块文件
$module = isset($_REQUEST['m']) ? Common::sfilter($_REQUEST['m']) : 'index';

//请求目录的模块文件不存在，则强制转移$module_dir为public
if($module_dir!=='public' && !file_exists('module/'.$module_dir.'/'.$module.'.php')){
   $module_dir = 'public';
}

//未登录
if($company['id']<=0 && $module!='login'){
   Common::base_header("Location:".$_lang['host']."".COMPANY_PATH."/?m=login\n");
}

if(file_exists($module_file= 'module/'.$module_dir.'/'.$module.'.php')){
   //如果请求目录不是public，且public包含名为$module的文件，则该文件为基本类文件，在此引入
   if($module_dir!='public' && file_exists('module/public/'.$module.'.php')){
         require 'module/public/'.$module.'.php';
   }
   $tp->assign('title','企业名片');
   $tp->assign('module',$module);
   $tp->assign('cid',get_company_id());

   $act = Common::sfilter($_REQUEST['act']);
   if(empty($act))  $act='index';
   $tp->assign('act',$act);

   $is_priv = check_priv($module,$act);
   //只有company才需要验证权限
   if($module_dir!='company') $is_priv=true;
   if($is_priv) require $module_file;
   $tp->assign('is_priv',$is_priv);
   $tp->assign('priv_arr',$priv_arr);
   $tp->assign('is_module',$module_dir);
   $tp->display('index.tpl');
}
else{
   die('module_dir or module_file not exists');
}

//根据当前用户权限控制模块
function check_priv($module,$act){
   //商户总帐号和平台管理员拥有所有权限
   if($GLOBALS['company']['p_id'] == 0 || $GLOBALS['company']['is_admin'] ){
      return true;
   }
   //当前用户的权限
   $priv_legal = $GLOBALS['company']['priv'];

   //检查module文件的权限
   if(!$priv_legal[$module]){
      return false;
   }

   //单独检查delete权限
   if($act=='delete' || $act=='is_not'){
      if(in_array($act, $priv_legal[$module])){
	  	  return true;
	  }
	  //delete一定是ajax_post提交
      else{
		  echo $GLOBALS['Json']->encode(array('status'=>0,'msg'=>'你没有该操作权限，请联系管理员开通！'));
		  exit;
	  }
   }

   //检查代码块的权限
   if(!in_array($act, $priv_legal[$module])){
      return false;
   }
   //检查$act是否有ajax_post权限
   if(in_array($act, $priv_legal[$module]) && !empty($_POST) && !in_array($act.'_post', $priv_legal[$module])){
      echo $GLOBALS['Json']->encode(array('status'=>0,'msg'=>'你没有该操作权限，请联系管理员开通！'));
      exit;
   }
   return true;
}
?>